package com.hibase.core.excel.service;

import com.github.pagehelper.PageInfo;
import com.hibase.core.excel.entity.MdsExcelImportConfigDetail;
import com.hibase.core.excel.vo.config.detail.MdsExcelImportConfigDetailSearchVO;
import com.hibase.core.mybatis.service.BaseService;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * Excel 模板配置详情表 Service
 *
 * @author <a href="mailto:xiongliyi@hichain.com">Ian Xiong</a>
 * @since 1.4.35-V2
 */
@Transactional(readOnly = true, rollbackFor = Exception.class)
public interface MdsExcelImportConfigDetailService extends BaseService<MdsExcelImportConfigDetail> {
    /**
     * 分页查询
     *
     * @param searchVO 查询条件
     * @return 返回模板配置详情数据集
     */
    PageInfo queryPage(MdsExcelImportConfigDetailSearchVO searchVO);


    /**
     * 新增配置详情数据
     *
     * @param entity 模板配置详情
     * @return {Boolean}
     */
    boolean saveImportConfigDetail(MdsExcelImportConfigDetail entity);


    /**
     * 更新配置详情数据
     *
     * @param entity 模板配置详情
     * @return 返回更新记录的行数
     */
    int updateImportConfigDetail(MdsExcelImportConfigDetail entity);

    /**
     * 通过业务模板唯一标识获取详情列表
     *
     * @param mdsExcelImportConfigId 模板唯一标识
     * @return 返回Excel导入模板详情列表
     */
    List<MdsExcelImportConfigDetail> findByBizImportConfigId(String mdsExcelImportConfigId);

    /**
     * 通过业务模板唯一标识获取Map
     *
     * @param mdsExcelImportConfigId 模板唯一标识
     * @return 返回Excel导入模板Map
     */
    Map<String, MdsExcelImportConfigDetail> findMapByBizImportConfigIdToMap(String mdsExcelImportConfigId);

}
